-------------------------------------------------------------------------------
-- Floating Point Golden unit package (10-bit floating point)
-- ECEn 620
-- Fall 2008
-- Jonathan Johnson, James Carroll
-------------------------------------------------------------------------------

library ieee_proposed;
use ieee_proposed.math_utility_pkg.all;

package fp_golden_pkg is
  new ieee.float_generic_pkg
  generic map (
    -- Defaults for sizing routines, when you do a "to_float" this will
    -- the default size. Example float32 would be 8 and 23 (8 downto -23)
    float_exponent_width : natural := 4;
    float_fraction_width : natural := 5;
    -- Rounding algorithm, "round_nearest" is default, other valid values
    -- are "round_zero" (truncation), "round_inf" (round up), and
    -- "round_neging" (round down)
    float_round_style    : float_round_type := round_nearest;
    -- Denormal numbers (very small numbers near zero) true or false
    float_denormalize    : BOOLEAN := false;
    -- Truns on NAN processing (invalud numbers and overflow) true of false
    float_check_error    : BOOLEAN := true;
    -- Guard bits are added to the bottom of every operation for rounding.
    -- any natural number (including 0) are valid.
    float_guard_bits     : NATURAL := 3;
    -- If TRUE, then turn off warnings on "X" propigation
    NO_WARNING           : BOOLEAN := false
    );

